package com.example.annasbook.config;

import com.baomidou.mybatisplus.core.injector.AbstractMethod;
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
import com.baomidou.mybatisplus.extension.injector.methods.AlwaysUpdateSomeColumnById;
import com.baomidou.mybatisplus.extension.injector.methods.InsertBatchSomeColumn;

import java.util.List;

/**
 * 自定义方法SQL注入器
 * 【注意】这个类名，可以随便命名
 */
public class MyInjector extends DefaultSqlInjector {

    /**
     * 3.5.2版本写法
     * 如果只需增加方法，保留MyBatis plus自带方法，
     * 可以先获取super.getMethodList()，再添加add
     */
	@Override
	public List<AbstractMethod> getMethodList(Class<?> mapperClass, TableInfo tableInfo) {
		// 注意：此SQL注入器继承了DefaultSqlInjector(默认注入器)，调用了DefaultSqlInjector的getMethodList方法，保留了mybatis-plus的自带方法
		List<AbstractMethod> methodList = super.getMethodList(mapperClass, tableInfo);
		methodList.add(new InsertBatchSomeColumn());
		methodList.add(new UpdateBatchMethod());
		return methodList;
	}
}
